package com.geek.javase.ch03.test2;

/*
 *@author wangpeng
 *2025/10/12 20:26
 *@description TODO
 */
/*
2.假如我们开发一个系统时需要对员工进行建模，员工包含3个属性：姓名、工号以及工资。
经理也是员工，除了含有员工的属性外，另外还有一个分红的属性。
请设计出员工类和经理类，要求类中提供必要的方法进行属性访问。
员工类: name  id  pay  抽象的addSalary()方法
经理类：继承员工类，并有自己特有的bonus分红属性，实现自己的addSalary()涨薪方法
*/
public class Manager extends Employee{
    private double bonus;

    public Manager(String name, int id, double pay, double bonus) {
        super(name, id, pay);
        this.bonus = bonus;
    }
    //子类重写抽象父类的抽象方法
    @Override
    public void addSalary(double p1) {
        double raise = getPay()*(p1/100);
        setPay(getPay()+raise+bonus);
    }
    public double getBonus() {
        return bonus;
    }

    public void setBonus(double bonus) {
        this.bonus = bonus;
    }
    @Override
    public String toString() {
        return "Manager{" +
                "bonus=" + bonus +
                '}';
    }
}
